/**
 * Create in 2012-9-8 上午11:20:46.
 */
package kit4j.common.io.file;

import java.io.File;
import java.io.FilenameFilter;

/**
 * 文件名过滤器适配类型，提供文件名过滤器与文件检阅者对象的操作整合适配(即在文件名过滤器接受文件的情况下才使用文件检阅者对文件进行检阅)。
 * 
 * @author MiniKnife
 * 
 */
public class FilenameFilterAdapter implements FilenameFilter {

	private FilenameFilter filter;

	private FileLooker looker;

	/**
	 * 为给定的文件名过滤器和文件检阅者创建一个适配对象。
	 * @param filter 文件名过滤器
	 * @param looker 文件检阅者
	 */
	public FilenameFilterAdapter(FilenameFilter filter, FileLooker looker) {
		this.filter = filter;
		this.looker = looker;
	}

	/**
	 * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
	 */
	@Override
	public boolean accept(File dir, String name) {
		if (filter.accept(dir, name)) {
			looker.lookup(new File(dir, name));

			return true;
		} else {
			return false;
		}
	}

}
